﻿using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;

namespace 凯旋归来管理端.models
{
   public  class 附加属性信息
    {
        public int Id;
        public string 中文名;
        public string 英文名;
        public int 附魔概率;
        public float 消失概率幂 ;
        public float 幸运比重;
        public float 耐久比重;
        public float 物品等级比重;
        public float 属性等级比重;
        public float 升级幂;
        public int 穿戴位置掩码;
        public int 职业掩码;
        public string 添加到属性;
        public static 附加属性信息[] 数据表转数组(DataTable dt)
        {
            附加属性信息[] ret = new 附加属性信息[dt.Rows.Count];
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                ret[i] = new 附加属性信息();
                int.TryParse(dt.Rows[i]["id"].ToString(), out ret[i].Id);
                ret[i].中文名 = dt.Rows[i]["中文名"].ToString();
                ret[i].英文名 = dt.Rows[i]["英文名"].ToString();
                int.TryParse(dt.Rows[i]["附魔概率"].ToString(), out ret[i].附魔概率);
                float.TryParse(dt.Rows[i]["消失概率幂"].ToString(), out ret[i].消失概率幂);
                float.TryParse(dt.Rows[i]["幸运比重"].ToString(), out ret[i].幸运比重);
                float.TryParse(dt.Rows[i]["耐久比重"].ToString(), out ret[i].耐久比重);
                float.TryParse(dt.Rows[i]["物品等级比重"].ToString(), out ret[i].物品等级比重);
                float.TryParse(dt.Rows[i]["属性等级比重"].ToString(), out ret[i].属性等级比重);
                float.TryParse(dt.Rows[i]["升级幂"].ToString(), out ret[i].升级幂);

                int.TryParse(dt.Rows[i]["穿戴位置掩码"].ToString(), out ret[i].穿戴位置掩码);
                int.TryParse(dt.Rows[i]["职业掩码"].ToString(), out ret[i].职业掩码);
                ret[i].添加到属性 = dt.Rows[i]["添加到属性"].ToString();
            }
            return ret;
        }
        public string 保存已有物品(string connstr)
        {

            string sql = "UPDATE 附加属性信息 SET 中文名=@0,英文名=@1,附魔概率=@2,消失概率幂=@3,幸运比重=@4,耐久比重=@5,物品等级比重=@6,属性等级比重=@7,升级幂=@8,穿戴位置掩码=@9,职业掩码=@10,添加到属性=@11 WHERE id=@12";
            using (MySqlConnection conn = new MySqlConnection(connstr))
            {
                try
                {
                    conn.Open();
                    MySqlCommand cmd = new MySqlCommand(sql, conn);
                    cmd.Parameters.AddWithValue("@0", this.中文名);
                    cmd.Parameters.AddWithValue("@1", this.英文名);
                    cmd.Parameters.AddWithValue("@2", this.附魔概率);
                    cmd.Parameters.AddWithValue("@3", this.消失概率幂);
                    cmd.Parameters.AddWithValue("@4", this.幸运比重);
                    cmd.Parameters.AddWithValue("@5", this.耐久比重);
                    cmd.Parameters.AddWithValue("@6", this.物品等级比重);
                    cmd.Parameters.AddWithValue("@7", this.属性等级比重);
                    cmd.Parameters.AddWithValue("@8", this.升级幂);
                    cmd.Parameters.AddWithValue("@9", this.穿戴位置掩码);
                    cmd.Parameters.AddWithValue("@10", this.职业掩码);
                    cmd.Parameters.AddWithValue("@11", this.添加到属性);
                    cmd.Parameters.AddWithValue("@12", this.Id);
                    cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    return ex.ToString(); ;
                }
                finally
                {
                    conn.Close();
                }
            }
            return "";
        }
        public string 新建物品(string connstr, int id)
        {

            string sql = "INSERT INTO 附加属性信息 (中文名,英文名,附魔概率,消失概率幂,幸运比重,耐久比重,物品等级比重,属性等级比重,升级幂,穿戴位置掩码,职业掩码,添加到属性,id)VALUE(@0,@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12)";
            using (MySqlConnection conn = new MySqlConnection(connstr))
            {
                try
                {
                    conn.Open();
                    MySqlCommand cmd = new MySqlCommand(sql, conn);
                    cmd.Parameters.AddWithValue("@0", this.中文名);
                    cmd.Parameters.AddWithValue("@1", this.英文名);
                    cmd.Parameters.AddWithValue("@2", this.附魔概率);
                    cmd.Parameters.AddWithValue("@3", this.消失概率幂);
                    cmd.Parameters.AddWithValue("@4", this.幸运比重);
                    cmd.Parameters.AddWithValue("@5", this.耐久比重);
                    cmd.Parameters.AddWithValue("@6", this.物品等级比重);
                    cmd.Parameters.AddWithValue("@7", this.属性等级比重);
                    cmd.Parameters.AddWithValue("@8", this.升级幂);
                    cmd.Parameters.AddWithValue("@9", this.穿戴位置掩码);
                    cmd.Parameters.AddWithValue("@10", this.职业掩码);
                    cmd.Parameters.AddWithValue("@11", this.添加到属性);
                    cmd.Parameters.AddWithValue("@12", id);
                    cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    return ex.ToString(); ;
                }
                finally
                {
                    conn.Close();
                }
            }
            return "";
        }
    }
}
